<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <!-- 为抵抗洪水，战士连续作战89小时，编程计算共多少天零多少小时？ -->
    <script>
        function solider(a){
        alert("战士总共连续作战" + parseInt(a/24) + "天" +a%24 + "小时");
    }
        var work = solider(89);
    // 基础数据类型：typeof操作符返回数据类型，可以是变量，也可以是数值字面量
                    // undefined类型：var声明变量但未初始化或未声明时
                                    //无必要显示声明
                                    //派生于null，所以null==undefined
                    // null类型：空对象指针
                              // 如果定义的变量准备在将来保存对象，这样只要检查null值就可以知道相应的变量是否保存了对象的引用
                              //如，if(a !=null){}
                    //boolean类型：Boolean()转换成boolean值
                                  //true可以被转换成1
                    //number类型：整数和浮点数（3.125e7=31250000,3e-2=0.03）
                                 //浮点数的精确度不如整数，如0.1+0.2=0.3000000...4，并非只有ECMAScript如此
                    //NaN：本来要返回数值的操作数未返回数值
                           //特征：任何涉及NaN的操作都会返回NaN，NaN!=任何值（包括本身）
                           //isNaN()函数，任何不能被转换成数值的数会返回true，也适用于对象
                    //类型转换：Number()将Boolean转换为1和0
                                       //null值返回0
                                       //undefined返回NaN
                                       //字符串只包含数字转换为数字，空则转换为0，此外全转换为NaN
                                       //对象调用valueOf()方法，依前面转换，若为NaN，调用tostring()
                              //parseInt()识别数字（包括不同的进制），忽略其他内容，若第一个不是数字，返回NaN
                                        //parseInt（"AF",16）;解析一个十六进制的字符串，一定要用
                              //parseFloat()会忽略前导的0
                    //String类型：转义字符
                                //属性：length
                                //toString()，null和undefined没有这个方法，会返回字面值
                    //Object类型：对象是数据和功能的集合,具有的任何属性和方法同样存在于更具体的对象中
                                //var a =new Object();
                                //constructor：保存用于创建当前对象的函数
                                //hasOwnProperty("can"):用于检查给定属性在当前对象实例中是否存在
                                //isPrototypeOf(对象):传入的对象是否是传入对象的原型
                                //propertyIsEnumerable("can"):给定属性是否能顾使用for-in语句
                                //toLocaleString():返回对象的字符串表示，改字符串与执行环境的地区对应
                                //toString():
                                //valueOf():通常与toString()相同

    //函数：函数只是封装语句，在任何地方任何时候调用执行，重要的是内容
         //声明：function a(params){}
               //var a1=function(params){}
         //执行(函数名+())：a();
         //执行匿名函数：(function(params){})()
         //arguments对象获取参数数组，从而获取每个参数               



    </script>
</body>
</html>